package chapter_21_observer.classic;

import java.util.Vector;

/**
 * @author yaochenglong
 * @date 2017/10/23
 *
 * 抽象被观察者
 */
public abstract class Subject {

    //定义观察者集合
    protected Vector<Observer> vector = new Vector<>();

    //增加观察者
    public void addObserver(Observer observer){
        vector.add(observer);
    }

    //删除观察者
    public void deleteObserver(Observer observer){
        vector.remove(observer);
    }

    //通知观察者
    public void notifyObserver(){
        for(Observer observer : vector){
            observer.update();
        }
    }
}
